import 'package:flutter/material.dart';

import 'package:get/get.dart';

import '../../common/index.dart';

import 'purchase_controller.dart';

class PurchasePage extends BaseGetXlistV<PurchasePageListC> {
  PurchasePage({super.key});
  @override
  PurchasePageListC get controller => Get.put(PurchasePageListC());

  @override
  Widget createListView(BuildContext context) {
    Widget body = ListView.builder(
      itemBuilder: createListitem,
      itemCount: 10,
    );
    return body;
  }

  @override
  Widget createListitem(BuildContext context, int index) {
    Widget body = Container();
    return body;
  }
}


/// 采购页面
/// 医疗用品和药品的采购界面
// class PurchasePage extends BaseGetXV<PurchaseController> {
//   PurchasePage({super.key});

//   @override
//   PurchaseController get controller =>
//       Get.put(PurchaseController(), tag: 'PurchaseController');

//   @override
//   Widget createBody({
//     required BuildContext context,
//     BoxConstraints? constraints,
//   }) {
//     return Column(
//       children: [
//         _buildSearchBar(context),
//         _buildCategoryTabs(context),
//         Expanded(
//           child: SmartRefresher(
//             controller: controller.refreshController,
//             enablePullDown: true,
//             enablePullUp: true,
//             onRefresh: controller.onRefresh,
//             onLoading: controller.onLoadMore,
//             child: Obx(() =>
//                 controller.isLoading.value && controller.purchaseItems.isEmpty
//                     ? _buildLoadingWidget()
//                     : controller.purchaseItems.isEmpty
//                         ? _buildEmptyWidget(context)
//                         : _buildItemList(context)),
//           ),
//         ),
//       ],
//     );
//   }

//   @override
//   createScaffolWidget({
//     required BuildContext context,
//     BoxConstraints? constraints,
//   }) {
//     return Scaffold(
//       backgroundColor: context.theme.scaffoldBackgroundColor,
//       appBar: _buildAppBar(context),
//       body: createScallBody(
//         context: context,
//         constraints: constraints,
//       ),
//       floatingActionButton: _buildFloatingActionButton(context),
//     );
//   }

//   /// 构建应用栏
//   PreferredSizeWidget _buildAppBar(BuildContext context) {
//     return AppBar(
//       title: Text(
//         StringConfig.purchase,
//         style: TextStyle(
//           fontSize: 18.sp,
//           fontWeight: FontWeight.w600,
//           color: context.theme.appBarTheme.titleTextStyle?.color,
//         ),
//       ),
//       backgroundColor: context.theme.appBarTheme.backgroundColor,
//       elevation: 0,
//       actions: [
//         IconButton(
//           onPressed: controller.onCartTap,
//           icon: Stack(
//             children: [
//               Icon(
//                 Icons.shopping_cart_outlined,
//                 size: 24.w,
//                 color: context.theme.appBarTheme.iconTheme?.color,
//               ),
//               Obx(() => controller.cartItemCount.value > 0
//                   ? Positioned(
//                       right: 0,
//                       top: 0,
//                       child: Container(
//                         padding: EdgeInsets.all(2.w),
//                         decoration: BoxDecoration(
//                           color: Colors.red,
//                           borderRadius: BorderRadius.circular(8.w),
//                         ),
//                         constraints: BoxConstraints(
//                           minWidth: 16.w,
//                           minHeight: 16.w,
//                         ),
//                         child: Text(
//                           '${controller.cartItemCount.value}',
//                           style: TextStyle(
//                             color: Colors.white,
//                             fontSize: 10.sp,
//                             fontWeight: FontWeight.bold,
//                           ),
//                           textAlign: TextAlign.center,
//                         ),
//                       ),
//                     )
//                   : const SizedBox.shrink()),
//             ],
//           ),
//         ),
//         IconButton(
//           onPressed: controller.onOrderListTap,
//           icon: Icon(
//             Icons.list_alt_outlined,
//             size: 24.w,
//             color: context.theme.appBarTheme.iconTheme?.color,
//           ),
//         ),
//         SizedBox(width: 8.w),
//       ],
//     );
//   }

//   /// 构建搜索栏
//   Widget _buildSearchBar(BuildContext context) {
//     return Container(
//       margin: EdgeInsets.all(16.w),
//       child: TextField(
//         controller: controller.searchController,
//         decoration: InputDecoration(
//           hintText: '搜索商品名称或供应商',
//           hintStyle: TextStyle(
//             fontSize: 14.sp,
//             color: context.theme.hintColor,
//           ),
//           prefixIcon: Icon(
//             Icons.search,
//             size: 20.w,
//             color: context.theme.hintColor,
//           ),
//           suffixIcon: Obx(() => controller.searchController.text.isNotEmpty
//               ? IconButton(
//                   onPressed: controller.clearSearch,
//                   icon: Icon(
//                     Icons.clear,
//                     size: 20.w,
//                     color: context.theme.hintColor,
//                   ),
//                 )
//               : const SizedBox.shrink()),
//           filled: true,
//           fillColor: context.theme.cardColor,
//           border: OutlineInputBorder(
//             borderRadius: BorderRadius.circular(12.r),
//             borderSide: BorderSide.none,
//           ),
//           contentPadding: EdgeInsets.symmetric(
//             horizontal: 16.w,
//             vertical: 12.h,
//           ),
//         ),
//         onSubmitted: controller.onSearch,
//       ),
//     );
//   }

//   /// 构建分类标签
//   Widget _buildCategoryTabs(BuildContext context) {
//     return Container(
//       height: 40.h,
//       margin: EdgeInsets.symmetric(horizontal: 16.w),
//       child: Obx(() => ListView.separated(
//             scrollDirection: Axis.horizontal,
//             itemCount: controller.categories.length,
//             separatorBuilder: (context, index) => SizedBox(width: 12.w),
//             itemBuilder: (context, index) {
//               final category = controller.categories[index];
//               final isSelected = controller.selectedCategory.value == category;
//               return GestureDetector(
//                 onTap: () => controller.onCategoryChanged(category),
//                 child: Container(
//                   padding: EdgeInsets.symmetric(
//                     horizontal: 16.w,
//                     vertical: 8.h,
//                   ),
//                   decoration: BoxDecoration(
//                     color: isSelected
//                         ? context.theme.primaryColor
//                         : context.theme.cardColor,
//                     borderRadius: BorderRadius.circular(20.r),
//                     border: Border.all(
//                       color: isSelected
//                           ? context.theme.primaryColor
//                           : context.theme.dividerColor,
//                       width: 1,
//                     ),
//                   ),
//                   child: Text(
//                     category,
//                     style: TextStyle(
//                       fontSize: 14.sp,
//                       color: isSelected
//                           ? Colors.white
//                           : context.theme.textTheme.bodyMedium?.color,
//                       fontWeight:
//                           isSelected ? FontWeight.w500 : FontWeight.normal,
//                     ),
//                   ),
//                 ),
//               );
//             },
//           )),
//     );
//   }

//   /// 构建商品列表
//   Widget _buildItemList(BuildContext context) {
//     return ListView.separated(
//       padding: EdgeInsets.all(16.w),
//       itemCount: controller.purchaseItems.length,
//       separatorBuilder: (context, index) => SizedBox(height: 12.h),
//       itemBuilder: (context, index) {
//         final item = controller.purchaseItems[index];
//         return _buildItemCard(context, item);
//       },
//     );
//   }

//   /// 构建商品卡片
//   Widget _buildItemCard(BuildContext context, dynamic item) {
//     return GestureDetector(
//       onTap: () => controller.onItemTap(item),
//       child: Container(
//         padding: EdgeInsets.all(12.w),
//         decoration: BoxDecoration(
//           color: context.theme.cardColor,
//           borderRadius: BorderRadius.circular(12.r),
//           boxShadow: [
//             BoxShadow(
//               color: Colors.black.withOpacity(0.05),
//               blurRadius: 4.r,
//               offset: Offset(0, 2.h),
//             ),
//           ],
//         ),
//         child: Row(
//           children: [
//             // 商品图片
//             ClipRRect(
//               borderRadius: BorderRadius.circular(8.r),
//               child: ExtendedImage.network(
//                 item.image ?? globalConfig.testImageUrl,
//                 width: 80.w,
//                 height: 80.w,
//                 fit: BoxFit.cover,
//                 cache: true,
//                 loadStateChanged: (state) {
//                   if (state.extendedImageLoadState == LoadState.failed) {
//                     return Container(
//                       width: 80.w,
//                       height: 80.w,
//                       color: context.theme.cardColor,
//                       child: Icon(
//                         Icons.image_not_supported_outlined,
//                         size: 32.w,
//                         color: context.theme.hintColor,
//                       ),
//                     );
//                   }
//                   return null;
//                 },
//               ),
//             ),
//             SizedBox(width: 12.w),
//             // 商品信息
//             Expanded(
//               child: Column(
//                 crossAxisAlignment: CrossAxisAlignment.start,
//                 children: [
//                   Text(
//                     item.name ?? '',
//                     style: TextStyle(
//                       fontSize: 16.sp,
//                       fontWeight: FontWeight.w600,
//                       color: context.theme.textTheme.titleMedium?.color,
//                     ),
//                     maxLines: 2,
//                     overflow: TextOverflow.ellipsis,
//                   ),
//                   SizedBox(height: 4.h),
//                   Text(
//                     '规格: ${item.specification ?? ''}',
//                     style: TextStyle(
//                       fontSize: 12.sp,
//                       color: context.theme.textTheme.bodyMedium?.color,
//                     ),
//                   ),
//                   SizedBox(height: 4.h),
//                   Text(
//                     '供应商: ${item.supplierName ?? ''}',
//                     style: TextStyle(
//                       fontSize: 12.sp,
//                       color: context.theme.textTheme.bodyMedium?.color,
//                     ),
//                   ),
//                   SizedBox(height: 8.h),
//                   Row(
//                     children: [
//                       Text(
//                         globalConfig.formatPrice(item.price ?? 0.0),
//                         style: TextStyle(
//                           fontSize: 16.sp,
//                           fontWeight: FontWeight.w700,
//                           color: Colors.red,
//                         ),
//                       ),
//                       Text(
//                         '/${item.unit ?? ''}',
//                         style: TextStyle(
//                           fontSize: 12.sp,
//                           color: context.theme.textTheme.bodyMedium?.color,
//                         ),
//                       ),
//                       const Spacer(),
//                       Text(
//                         '库存: ${item.stock ?? 0}',
//                         style: TextStyle(
//                           fontSize: 12.sp,
//                           color: item.stock != null && item.stock! > 0
//                               ? Colors.green
//                               : Colors.red,
//                         ),
//                       ),
//                     ],
//                   ),
//                 ],
//               ),
//             ),
//             SizedBox(width: 8.w),
//             // 操作按钮
//             Column(
//               children: [
//                 ElevatedButton(
//                   onPressed: item.stock != null && item.stock! > 0
//                       ? () => controller.onAddToCartTap(item)
//                       : null,
//                   style: ElevatedButton.styleFrom(
//                     backgroundColor: context.theme.primaryColor,
//                     foregroundColor: Colors.white,
//                     padding: EdgeInsets.symmetric(
//                       horizontal: 12.w,
//                       vertical: 6.h,
//                     ),
//                     minimumSize: Size(60.w, 32.h),
//                     shape: RoundedRectangleBorder(
//                       borderRadius: BorderRadius.circular(6.r),
//                     ),
//                   ),
//                   child: Text(
//                     StringConfig.addToCart,
//                     style: TextStyle(
//                       fontSize: 12.sp,
//                       fontWeight: FontWeight.w500,
//                     ),
//                   ),
//                 ),
//                 SizedBox(height: 8.h),
//                 OutlinedButton(
//                   onPressed: item.stock != null && item.stock! > 0
//                       ? () => controller.onBuyNowTap(item)
//                       : null,
//                   style: OutlinedButton.styleFrom(
//                     foregroundColor: context.theme.primaryColor,
//                     side: BorderSide(
//                       color: context.theme.primaryColor,
//                       width: 1,
//                     ),
//                     padding: EdgeInsets.symmetric(
//                       horizontal: 12.w,
//                       vertical: 6.h,
//                     ),
//                     minimumSize: Size(60.w, 32.h),
//                     shape: RoundedRectangleBorder(
//                       borderRadius: BorderRadius.circular(6.r),
//                     ),
//                   ),
//                   child: Text(
//                     StringConfig.buyNow,
//                     style: TextStyle(
//                       fontSize: 12.sp,
//                       fontWeight: FontWeight.w500,
//                     ),
//                   ),
//                 ),
//               ],
//             ),
//           ],
//         ),
//       ),
//     );
//   }

//   /// 构建加载中组件
//   Widget _buildLoadingWidget() {
//     return const Center(
//       child: CircularProgressIndicator(),
//     );
//   }

//   /// 构建空状态组件
//   Widget _buildEmptyWidget(BuildContext context) {
//     return Center(
//       child: Column(
//         mainAxisAlignment: MainAxisAlignment.center,
//         children: [
//           Icon(
//             Icons.shopping_cart_outlined,
//             size: 64.w,
//             color: context.theme.hintColor,
//           ),
//           SizedBox(height: 16.h),
//           Text(
//             StringConfig.noData,
//             style: TextStyle(
//               fontSize: 16.sp,
//               color: context.theme.hintColor,
//             ),
//           ),
//           SizedBox(height: 16.h),
//           ElevatedButton(
//             onPressed: controller.onRefresh,
//             child: const Text(StringConfig.retry),
//           ),
//         ],
//       ),
//     );
//   }

//   /// 构建浮动操作按钮
//   Widget _buildFloatingActionButton(BuildContext context) {
//     return Obx(() => controller.cartItemCount.value > 0
//         ? FloatingActionButton.extended(
//             onPressed: controller.onCartTap,
//             backgroundColor: context.theme.primaryColor,
//             foregroundColor: Colors.white,
//             icon: const Icon(Icons.shopping_cart),
//             label: Text(
//               '采购车 (${controller.cartItemCount.value})',
//               style: TextStyle(
//                 fontSize: 14.sp,
//                 fontWeight: FontWeight.w500,
//               ),
//             ),
//           )
//         : const SizedBox.shrink());
//   }
// }
